//导入静态路由
import { constantRoutes, asyncRoutes } from '@/router/index'
const state = {
  routes: constantRoutes
}
const mutations = {
  // 动态设置路由
  //  payload:将来要动态添加的路由
  SET_ROUTES (state, payload) {
    state.routes = [...constantRoutes, ...payload]
  }
}
const actions = {
  // 筛选动态路由
  //  context：当前 vuex 对象
  //  menus：当前登录用户拥有的权限列表
  setRoutes (context, menus) {
    const newMenus = asyncRoutes.filter(item => {
      return menus.some(subitem => {
        return subitem === item.name
      })
    })
    // bool 如果是 true：说明当前 item 路由就是当前用户的权限路由
    // bool 如果是 false：说明当前 item 路由不是当前用户的权限路由
    context.commit('SET_ROUTES', newMenus)
    console.log('newMenus', newMenus)
    return newMenus
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}
